﻿//
// 请注意：bbsmax 不是一个免费产品，源代码仅限用于学习，禁止用于商业站点或者其他商业用途
// 如果您要将bbsmax用于商业用途，需要从官方购买商业授权，得到授权后可以基于源代码二次开发
//
// 版权所有 厦门麦斯网络科技有限公司
// 公司网站 www.bbsmax.com
//

using System;
using System.Collections.Generic;
using System.Text;
using MaxLabs.bbsMax.Entities;

namespace MaxLabs.bbsMax.DataAccess
{
    public abstract class PointShowDao : DaoBase<PointShowDao>
    {
        public abstract PointShow CreatePointShow(int userID, int point, int price, string content);

        public abstract int AddPointShow(int userID, string userName, int point,int price);

        public abstract int UpdatePointShow(int userId, int addPoints, int price, string content, out PointShow pointShowInfo);

        public abstract bool SubjoinPointShowPoint(int userID, int point);

        public abstract UserCollection GetUserShows(int userID, int pageNumber, int pageSize, out int userTotalCount);

        public abstract UserCollection GetUserShows(int userID, int pageNumber, int pageSize, out Dictionary<int,int> points,out Dictionary<int,string> contents);

        public abstract bool IsPointShowUser(int userID);

        public abstract PointShow GetMyPointShowInfo(int userID);

        public abstract int RemoveFomList(IEnumerable<int> pointshowUserids);

        public abstract PointShowCollection GetPointShowList(int pageSize,int pageNumber);

        /// <summary>
        /// 扣除积分秀点击
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="overage"></param>
        public abstract void DeductPointShowPoint(int userID, out int overage, out int price);

    }
}